昨天簡單介紹了 Quick Reply 的使用方式,今天就要來介紹一些讓 Quick Reply 變得強大的一些秘密。
如果你還記得 Day 05 的那個對應表格,應該有注意到下方有些有寫著 (Quick reply Only)
的 Action ,而我們就是要介紹其中的一個 Camera action ,還有雖然不是 Quick Reply Only 但依然好用的 URI action 。
怕各位忘記,在這邊補充一下
Action =======================> Event ├── Message action ------------ MessageEvent | ├── TextMessage | ├── StickerMessage | ├── ImageMessage | ├── VideoMessage | ├── AudioMessage | ├── LocationMessage | ├── * Imagemap message | ├── * Template message | ├── FlexMessage | └── FileMessage ├── Postback action ----------- PostbackEvent ├── URI action ├── Datetime picker action ---- PostbackEvent ├── Camera action (Quick reply Only) ├── Camera roll action (Quick reply Only) ├── Location action (Quick reply Only) └── Richmenu Switch Action ---- PostbackEvent
首先先介紹一下 URI action ,看名字就知道跟 URL 有關,且它並沒有對應的 Event ,因為它對應的動作就是開啟瀏覽器讓我們瀏覽某個 URL 。
只要將 QuickReplyButton 的 action 設定為 URIAction ,並指定好對應的 URI ,這樣就可以在觸發 Button 時直接進入對應的 URI 了。
但是 Line 平台預設是用內建的瀏覽器打開,這樣在某些情況下會有些不便,因此我們可以在 URI 的最後面加上一個參數 ?openExternalBrowser=1
,這樣 Line 就會自動用預設的瀏覽器打開我們的 URI 了。
@handler.add(PostbackEvent)
def handle_postback(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(
text=event.postback.data,
quick_reply=QuickReply(
items=[
QuickReplyButton(
action=URIAction("Google", uri="https://www.google.com/")
),
QuickReplyButton(
action=URIAction("Youtube", uri="https://www.youtube.com/?openExternalBrowser=1")
)
]
)
)
)
接著就要介紹 Quick Reply Only 的 Camera action ,這個 Action 可以讓我們快速開啟相機,讓我們不用切出去再切回來。
@handler.add(PostbackEvent)
def handle_postback(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(
text=event.postback.data,
quick_reply=QuickReply(
items=[
QuickReplyButton(
action=URIAction("Google", uri="https://www.google.com/", alt_uri="https://www.google.com/")
),
QuickReplyButton(
action=URIAction("Youtube", uri="https://www.youtube.com/?openExternalBrowser=1", alt_uri="https://www.youtube.com/")
),
QuickReplyButton(
action=CameraAction("Camera")
)
]
)
)
)
如果順利的話,應該就可以順利開啟相機及瀏覽器了。
那麼就先到這邊,這兩個好用的 Action 一個是讓我們可以有一些預設回復的模式,另一個則是可以提高使用者體驗,因為有了這些好用的 Action 才讓 Quick Reply 變得強大。
大家掰~掰~